【Unity】Project Visualizer っていうのを作ってみた
Unityエディター拡張機能の紹介
私はUnityエディターをちまちま作っているのですが、その過程で生まれた拡張機能を自己紹介します。
Unityプロジェクトを「見える化」する多機能エディタ拡張『Project Visualizer』 - 紫陽花広場 - BOOTH

こういうやつですね。
プロジェクトの依存関係を可視化
プロジェクトの中身とかの関係図(依存関係など)を視覚的に見れるようにする感じのものを作成しました。
こんな感じですね。

これの良いところは、プロジェクトが案外絡み合っているのを俯瞰で見ることができるので、ちょっとわくわくしました。今まで何となく培ってきたプロジェクトがいつの間にか数十GB級になってしまったこともあり、「どんな依存関係になっているのかな」と気になったのがきっかけです。
Obsidian風のノードマップと物理演算
ということで、Obsidian風のノードマップを作成して、いろいろ遊んでいました。
これはすべてのアセットを表示しようとすると結構負荷がかかります。一応かなりの最適化を行っていて、基本設定なら読み込み時が一番時間がかかるようになっています。ノードに物理演算を持たせており、お互いのノードが干渉するようにできています。
また、ノードをクリックすることで、そのノードのアイテムをProjectタブで開けるようになっているので、場所の追跡もお手の物です。すごいですね!
膨大なアセットへの対応
VRChatとかで、シーンにあるアバターを可視化したのが上の図になりますが、結構面白いですね。
すべてのアセットとどういう依存関係かをすべて表示しようとすると、プロジェクトによっては10万ノードくらいになってしまうので、ある程度の自重は必要みたいです。かなり最適化していますが、やはり3万ノードあたりから重くなり始めますね。
その他の便利な機能
他の機能としては、プロジェクトの統計情報を確認できるようになっていたり、ヒートマップでプロジェクトの編集のアクティブさを視覚的に把握できる機能もあります。
自分が必要だと思った機能や、改善が必要だと思った機能はどんどんアップデートしていこうと思います。
---
こちらの内容をそのままブログや紹介記事にご利用いただけます。他にも、特定の機能を強調するための「箇条書き」への整理など、お手伝いできることがあれば教えてくださいね。